package com.serviceprovider.business.module.admin.shipping.services.dao.impl;

//~--- non-JDK imports --------------------------------------------------------

import com.serviceprovider.business.module.admin.shipping.model.Shipping;
import com.serviceprovider.business.module.admin.shipping.services.dao.interfaces.IShippingService;

//~--- JDK imports ------------------------------------------------------------

import java.util.List;

public class ShippingServiceDaoImpl implements IShippingService {
    private static final String F_DROPOFF_OPTION = "dropoff_option";
    private static final String F_FROM_ADDRESS   = "from_address";
    private static final String F_FROM_CITY      = "from_city";
    private static final String F_FROM_COMPANY   = "from_company";
    private static final String F_FROM_COUNTRY   = "from_country";
    private static final String F_FROM_FAX       = "from_fax";
    private static final String F_FROM_NAME      = "from_name";
    private static final String F_FROM_PHONE     = "from_phone";
    private static final String F_FROM_STATE     = "from_state";
    private static final String F_FROM_ZIPCODE   = "from_zipcode";

    // Constants for column names
    private static final String F_ID                = "ship_id";
    private static final String F_ON_DELIVERY_EMAIL = "on_delivery_email";
    private static final String F_ON_SHIP_EMAIL     = "on_ship_email";
    private static final String F_ORDER_ID          = "order_id";
    private static final String F_PAYMENT_TO        = "payment_to";
    private static final String F_PICKUP_OPTION     = "pickup_option";
    private static final String F_SERVICE_OPTION    = "service_option";
    private static final String F_SHIPMENT_STATUS   = "shipment_status";
    private static final String F_SHIP_DATE         = "ship_date";
    private static final String F_TO_ADDRESS        = "to_address";
    private static final String F_TO_CITY           = "to_city";
    private static final String F_TO_COMPANY        = "to_company";
    private static final String F_TO_COUNTRY        = "to_country";
    private static final String F_TO_FAX            = "to_fax";
    private static final String F_TO_NAME           = "to_name";
    private static final String F_TO_PHONE          = "to_phone";
    private static final String F_TO_STATE          = "to_state";
    private static final String F_TO_ZIPCODE        = "to_zipcode";

    // SQL prepared statements
    private static final String INSERT_A_SHIPPING =
        new StringBuilder("INSERT INTO shipping (").append(F_FROM_NAME).append(",").append(F_FROM_COMPANY).append(
            ",").append(F_FROM_ADDRESS).append(",").append(F_FROM_CITY).append(",").append(F_FROM_STATE).append(
            ",").append(F_FROM_COUNTRY).append(",").append(F_FROM_ZIPCODE).append(",").append(F_FROM_PHONE).append(
            ",").append(F_FROM_FAX).append(",").append(F_TO_NAME).append(",").append(F_TO_COMPANY).append(",").append(
            F_TO_ADDRESS).append(",").append(F_TO_CITY).append(",").append(F_TO_STATE).append(",").append(
            F_TO_COUNTRY).append(",").append(F_TO_ZIPCODE).append(",").append(F_TO_PHONE).append(",").append(
            F_TO_FAX).append(",").append(F_ORDER_ID).append(",").append(F_SHIPMENT_STATUS).append(",").append(
            F_SERVICE_OPTION).append(",").append(F_SHIP_DATE).append(",").append(F_PICKUP_OPTION).append(",").append(
            F_DROPOFF_OPTION).append(",").append(F_PAYMENT_TO).append(",").append(F_ON_SHIP_EMAIL).append(",").append(
            F_ON_DELIVERY_EMAIL).append(")").append(
            " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)").toString();
    private static final String LIST_ALL_SHIPPINGS = new StringBuilder("SELECT * FROM shipping").toString();

    @Override
    public void create(Shipping ship) {}

    @Override
    public void delete(int shipId) {}

    @Override
    public Shipping get(int shipId) {
        return null;
    }

    @Override
    public List<Shipping> list() {
        return null;
    }

    @Override
    public void modify(Shipping ship) {}
}



